package config

type JWTConfig struct {
	SigningKey string `mapstructure:"key" json:"key"`
}

type ConsulConfig struct {
	Host string `mapstructure:"host" json:"host"`
	Port int    `mapstructure:"port" json:"port"`
}
type GoodsSrvConfig struct {
	Name string `mapstructure:"name" json:"name"`
}

type OrderSrvConfig struct {
	Name string `mapstructure:"name" json:"name"`
}

type InventorySrvConfig struct {
	Name string `mapstructure:"name" json:"name"`
}
type JaegerConfig struct {
	Host string `mapstructure:"host" json:"host"`
	Port int    `mapstructure:"port" json:"port"`
	Name string `mapstructure:"name" json:"name"`
}

type ServerConfig struct {
	Name         string             `mapstructure:"name" json:"name"`
	Port         int                `mapstructure:"port" json:"port"`
	Host         string             `mapstructure:"host" json:"host"`
	Tags         []string           `mapstructure:"tags" json:"tags"`
	Dev          string             `mapstructure:"dev" json:"dev"`
	GoodsSrvInfo GoodsSrvConfig     `mapstructure:"goods-srv" json:"goods-srv"`
	OrderSrvInfo OrderSrvConfig     `mapstructure:"order-srv" json:"order-srv"`
	InvSrvInfo   InventorySrvConfig `mapstructure:"inventory-srv" json:"inventory-srv"`
	JWTInfo      JWTConfig          `mapstructure:"jwt" json:"jwt"`
	ConsulInfo   ConsulConfig       `mapstructure:"consul" json:"consul"`
	JaegerInfo   JaegerConfig       `mapstructure:"jaeger" json:"jaeger"`
}

type NacosConfig struct {
	Host      string `mapstructure:"host"`
	Port      int    `mapstructure:"port"`
	NameSpace string `mapstructure:"namespace"`
	User      string `mapstructure:"user"`
	Password  string `mapstructure:"password"`
	DataId    string `mapstructure:"dataid"`
	Group     string `mapstructure:"group"`
}
